package cn.zlb.frame.domain.pay.respository.gateway;

import cn.zlb.frame.common.result.Result;
import cn.zlb.frame.domain.pay.model.entity.ProductEntity;

/**
 * @author yangjie.deng@resico.cn
 * @date 2023-11-09 14:08:00
 * @describe class responsibility
 */
public interface IProductGateway {
    /**
     *  库存扣减
     *
     * @param entity 商品对象
     * @return       扣减结果
     */
    Result<Boolean> inventoryAbatement(ProductEntity entity);

    /**
     *   根据产品编号获取产品信息
     *
     * @param tenantNo         租户编号
     * @param productNo        产品唯一编号
     * @return ProductEntity   产品信息
     */
    ProductEntity findProductByNo(String tenantNo, String productNo);
}
